package com.lane.imooc;

/*
 通过接口，我们可以描述两个不同类型 类 之间的特征。
 如果通过接口来使用呢，可以使用一个接口的引用来引用一个实现了接口的对象。
*/
public class Initial {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
        Telphone tel1 = new CallPhone();
        tel1.call();
        tel1.message();
        
        Telphone tel2 = new SmartPhone();
        tel2.call();
        tel2.message();
		
        //名为ip1的接口引用，指向一个实现了接口的对象
        IPlayGame ip1 = new SmartPhone();
        ip1.playGame();
        //使用一个名称为ip2的
        IPlayGame ip2 = new Psp();
        ip2.playGame();
        
        IPlayGame ip3=new IPlayGame(){
        	@Override
        	public void playGame(){
        		System.out.println("使用匿名内部类的方式实现接口1");
        	}
        };
        //直接通过接口的引用直接调用PlayGame方法
        ip3.playGame();
         
        
        new IPlayGame(){
        	public void playGame(){
        		System.out.println("使用匿名内部类的方式实现接口2");
        	}
        }.playGame();
        
	}
}